home *** CD-ROM | disk | FTP | other *** search
/ Corel CD Power Pak: Utilities / Corel CD Power Pak: Utilities.iso / setup / setup.ms_ / setup.ms
Encoding:
Text File  |  1993-11-13  |  48.9 KB  |  1,678 lines

  1. ''
  2. ''   ┌──────────────────────────────────────────────────────────────┐
  3. ''   │                    CorelSCSI!  Ver. 2.0                      │
  4. ''   ├──────────────────────────────────────────────────────────────┤
  5. ''   │                   Setup Script Ver. 1.06                     │
  6. ''   │                                                              │
  7. ''   │                                                              │
  8. ''   │   - SETUP Configuration file for Corel English Version       │
  9. ''   │                                                              │
  10. ''   │   - Created  October 18, 1993.                               │
  11. ''   │   - Modified November 13, 1993 by S.R.                       │
  12. ''   │                                                              │
  13. ''   ├──────────────────────────────────────────────────────────────┤
  14. ''   │                                                              │
  15. ''   │ Copyright (C) 1993.  Corel Corporation   All Rights Reserved │
  16. ''   │                                                              │
  17. ''   └──────────────────────────────────────────────────────────────┘
  18. ''                                                                  
  19.  
  20.  
  21. ''''''$DEFINE DEBUG  ''Define for script development/debugging
  22.  
  23. '$INCLUDE 'setupapi.inc'
  24. '$INCLUDE 'msdetect.inc'
  25.  
  26. '' code to make the install the full screen
  27.  
  28. CONST WS_VISIBLE=&H10000000
  29. CONST WS_BORDER =&H00800000
  30. CONST WS_CLIPCHILDREN =&H02000000
  31. CONST GWL_STYLE =-16
  32. CONST SW_SHOWMAXIMIZED=3
  33.  
  34. DECLARE FUNCTION ShowWindow LIB "user.exe" (hWnd%,iShow%) AS INTEGER
  35. DECLARE FUNCTION SetWindowLong LIB "user.exe" (hWnd%,offset%,style&) AS LONG
  36.  
  37. hWnd%=HwndFrame()
  38.  
  39. sti&=SetWindowLong(hWnd%,GWL_STYLE,WS_VISIBLE+WS_BORDER+WS_CLIPCHILDREN)
  40. stj%=ShowWindow(hWnd%,SW_SHOWMAXIMIZED)
  41.    
  42. ''OEM ID's
  43. CONST OEM_UNIVERSAL        = 1
  44. CONST OEM_CDSTUFF        = 2
  45. CONST OEM_CORELBOOK        = 4
  46. CONST OEM_WINBACKUP        = 8
  47. CONST OEM_DOSBACKUP        = 16
  48. CONST OEM_WINTOOLS        = 32
  49. CONST OEM_DOSTOOLS        = 64
  50. CONST OEM_WINCONFIG        = 128
  51. CONST OEM_DOSCONFIG        = 256
  52. CONST OEM_TWAIN            = 512   
  53.  
  54. CONST CORELSCSI20        = 1
  55. CONST CORELCDPAK        = 2
  56. CONST OEMVERSION        = 3                                                          
  57.  
  58. CONST DISK            = 1
  59. CONST CD_DISK            = 2
  60.  
  61. ''────────────────────────────────────────────────────────────────────────────────
  62. ''
  63. '' Set InstallType = CORELSCSI20    '' this is for the CorelSCSI 2.0 Setup.
  64. ''             = CORELCDPAK        '' this is for the Corel CD PowerPak Setup.
  65. ''           = OEMVERSION        '' this is for the OEM Setup Version.
  66. '' 
  67. '' Set InstallSet = 0    for CorelSCSI 2.0 and Corel CD PowerPak    
  68. ''     InstallSet = ??  depends on what the OEM version is to have. Can choose 
  69. ''            from the following :
  70. ''                  OEM_UNIVERSAL, OEM_CDSTUFF, OEM_CORELBOOK, OEM_WINBACKUP,
  71. ''                      OEM_DOSBACKUP, OEM_WINTOOLS, OEM_DOSTOOLS, OEM_WINCONFIG,
  72. ''                      OEM_DOSCONFIG, OEM_TWAIN
  73. ''         for example, to OEM  CorelBook, Windows Backup, and Windows Config then
  74. ''                  InstallSet = OEM_CORELBOOK + OEM_WINBACKUP + OEM_WINCONFIG
  75. ''
  76. ''        DiskOrCD  = DISK | CD_DISK    FOR POWERPAK ONLY. 
  77. ''                          Set to DISK for the drivers install ONLY
  78. ''                Set to CD_DISK for the rest of the software from the CDROM
  79. ''
  80. ''
  81. '' * NOTE *         if you are using OEM make sure InstallType = OEMVERSION 
  82. ''
  83. ''────────────────────────────────────────────────────────────────────────────────
  84.  
  85. CONST InstallType    = CORELCDPAK        '' this is for the Corel CD PowerPak Setup.
  86. CONST InstallSet    = 0                
  87. CONST DiskOrCD        = CD_DISK    '' this is for the CDROM disk version
  88.  
  89. GLOBAL  OEM_NAME_PLATE$ 
  90.  
  91. OEM_NAME_PLATE$ = "Corel Version"         '' 30 chars max
  92.  
  93.  
  94. ''Dialog ID's
  95. CONST WELCOME       = 300
  96. CONST WLCMCD        = 299                  '' the PowerPak splash screen
  97. CONST CUSTOMCD        = 298               '' the PowerPak custom box
  98. CONST PATHOK        = 301
  99. CONST PATHFND       = 302
  100. CONST CUSTOM        = 303
  101. CONST METHOD        = 304
  102. CONST ENDSCRN       = 305
  103. CONST QUIT          = 306
  104. CONST AUTOCNFG      = 307
  105. CONST PATHSCRN      = 308
  106. CONST README        = 309
  107. CONST READTXT       = 310
  108. CONST BADPATH       = 312
  109. CONST ASKQUIT       = 314
  110. CONST EXITSUCCESS   = 316
  111. CONST EXITFAILURE   = 318
  112. CONST EXITQUIT      = 320
  113. CONST DSKSPCE       = 322
  114. CONST TESTBACK      = 324
  115. CONST CHKSPCE       = 326
  116. CONST METHDHLP      = 327
  117. CONST CUSTMHLP      = 328
  118. CONST PATHHLP       = 329
  119. CONST ASPIDRVR      = 330
  120. CONST CHSECARD      = 331
  121. CONST FDTDC950      = 332
  122. CONST CHSCDHLP      = 333
  123. CONST DEVHIGH       = 334
  124. CONST NOVSURE       = 335
  125. CONST ENDSCRN2      = 336
  126. CONST OEMCARD       = 337
  127. CONST OEMLIST       = 338
  128. CONST OEMINFO        = 339
  129. CONST CDDEVHIGH        = 340     '' powerpak dev high box
  130. CONST DISKINFO        = 341     '' powerpak Disk setup info box
  131. CONST PTHFNDCD        = 342     '' powerpak CD portion Found so install here
  132. CONST CSTOMCD2        = 343                                
  133. CONST MOSAIC        = 344     '' Mosaic Confirm Box
  134. CONST LSTDRV        = 345
  135. CONST LSTDRVHP        = 346
  136. CONST LSTDRVN        = 347
  137.  
  138. ''Billboards
  139. CONST CONFIG1       = 350
  140. CONST BACKUP1       = 352
  141. CONST REGISTER      = 354
  142. CONST CDAUD2        = 356
  143. CONST CDBASE        = 357
  144.  
  145. ''Bitmap ID nums for Billboards
  146. CONST CONFIG1_BIT   = 1050
  147. CONST BACKUP1_BIT   = 1055
  148. CONST REGISTER_BIT  = 1060
  149. CONST CDAUD2_BIT    = 1065
  150. CONST CDBASE_BIT    = 1070
  151.  
  152.  
  153. ''Bitmap ID
  154. CONST CORELSCSI2_LOGO = 1
  155. CONST CORELCDPAK_LOGO = 2
  156.  
  157. ''File Types
  158. CONST UNIFILES        = 1
  159. CONST CDFILES         = 2
  160. CONST CORELBOOKFILES  = 3
  161. CONST WIN_BACKUPFILES = 4
  162. CONST WIN_TOOLSFILES  = 5
  163. CONST WIN_CONFIGFILES = 6
  164. CONST WIN_TWAINFILES  = 7
  165. CONST WIN_MOSAICFILES = 7     '' same as the twain stuff
  166. CONST DOS_BACKUPFILES = 8
  167. CONST DOS_TOOLSFILES  = 9
  168. CONST DOS_CONFIGFILES = 10
  169. CONST NECESSARY_FILES = 11
  170.  
  171. GLOBAL DEST$        ''Default destination directory.
  172. GLOBAL FDCspecial$  ''MUST MATCH!!!! ~aspi.lst name
  173. GLOBAL OEMDisk$     ''MUST MATCH!!!! Other name
  174. GLOBAL OEMPATH$
  175. GLOBAL REBOOT$      ''to reboot or not to reboot
  176. GLOBAL OPTCUR$      ''Option selection from option dialog.
  177. GLOBAL MosDir$      ''Location of old mosaic program, if found.
  178.  
  179. GLOBAL CHECKSTATES$
  180. GLOBAL STATUSTEXT$
  181. GLOBAL DRIVETEXT$
  182. GLOBAL APPS%
  183. GLOBAL DoTheMosaic%
  184.  
  185. GLOBAL UNINEED$
  186. GLOBAL CDNEED$
  187. GLOBAL CORELBOOKNEED$
  188. GLOBAL WIN_BACKUPNEED$
  189. GLOBAL WIN_TOOLSNEED$
  190. GLOBAL WIN_CONFIGNEED$
  191. GLOBAL WIN_TWAINNEED$
  192. GLOBAL DOS_BACKUPNEED$
  193. GLOBAL DOS_TOOLSNEED$
  194. GLOBAL DOS_CONFIGNEED$
  195. GLOBAL NECESSARY_NEED$
  196. GLOBAL PCDMOSNEED$
  197. GLOBAL EXTRACOSTS$
  198. GLOBAL BIGLIST$
  199.  
  200. GLOBAL CORRUPT$
  201. GLOBAL ERRORSTRING$ 
  202. GLOBAL oldestpath$ 
  203. GLOBAL CallBackDlg$
  204.  
  205. DECLARE SUB cpRegisterDefaults LIB "cpalette.dll"
  206. DECLARE SUB DoBackGround
  207. DECLARE SUB Install
  208. DECLARE FUNCTION SetOEMText  LIB "stv.dll" (sz$) AS INTEGER
  209. DECLARE SUB AddOptFilesToCopyList (ftype%)
  210. DECLARE SUB CheckPath 
  211.  
  212. DECLARE FUNCTION RemSymbol  LIB "stv.dll" (sz$) AS INTEGER
  213.  
  214. DECLARE SUB RecalcOptFiles (ftype%)
  215. DECLARE SUB RecalcPath
  216. DECLARE SUB SetDriveStatus
  217. DECLARE SUB SetCheckStateList
  218. DECLARE FUNCTION SetFullInstallSize LIB "stv.dll" (sz$) AS INTEGER
  219. DECLARE FUNCTION CheckIfOEM  LIB "stv.dll" (set%, against%) AS INTEGER
  220. DECLARE FUNCTION SetBillBrdNum LIB "stv.dll" (num%) AS INTEGER         
  221. DECLARE FUNCTION SetDebugInfo LIB "stv.dll" () AS INTEGER
  222. DECLARE FUNCTION KillScreenSave LIB "stv.dll" () AS INTEGER
  223. DECLARE FUNCTION RestoreScreenSave LIB "stv.dll" () AS INTEGER
  224.  
  225. INIT:                                                         
  226. ''    nRc% = SetDebugInfo()
  227.     nRc% = KillScreenSave()
  228.     CUIDLL$ = "stv.dll"            ''Custom user interface dll
  229.     FDCspecial$ = "FDC TMC-950 /W BIOS REV < 8.2"       ''Must Match ~aspi.lst name all uppercase
  230.     OEMDisk$ = "OTHER (REQUIRES DISK FROM OEM...)"      ''Must Match ~aspi.lst name all uppercase
  231.  
  232.     CORRUPT$ = "Setup sources were corrupted, call Corel!"
  233.     ERRORSTRING$ = "Error"
  234.     
  235.     IF InstallType = CORELCDPAK  THEN        '' takes care of the BITMAP LOGO (2 types)
  236.         SetBitmap CUIDLL$, CORELCDPAK_LOGO
  237.         SetTitle "Corel CD PowerPak! Setup"
  238.     ELSE
  239.         SetBitmap CUIDLL$, CORELSCSI2_LOGO 
  240.         SetTitle "CorelSCSI! 2"
  241.     END IF                           
  242.  
  243.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  244.     IF szInf$ = "" THEN
  245.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  246.     END IF
  247.     ReadInfFile szInf$
  248.  
  249.     OPTCUR$ = "1"
  250.     DEST$ = "C:\CORELDRV"
  251.  
  252.     CHECKSTATES$ = "CheckItemsState"
  253.     STATUSTEXT$ = "StatusItemsText"
  254.     DRIVETEXT$ = "DriveStatusText"
  255.  
  256.     FOR i% = 1 TO 14 STEP 1
  257.        AddListItem CHECKSTATES$, "ON"
  258.     NEXT i%
  259.  
  260.     FOR i% = 1 TO 11 STEP 1
  261.        AddListItem STATUSTEXT$, ""
  262.     NEXT i%
  263.  
  264.     FOR i% = 1 TO 7 STEP 1
  265.        AddListItem DRIVETEXT$,""
  266.     NEXT i%
  267.  
  268.     drive$ = MID$(DEST$, 1, 1)
  269.  
  270.     free& = GetFreeSpaceForDrive(drive$)
  271.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  272.     ReplaceListItem DRIVETEXT$, 7, DEST$
  273.  
  274.     UNINEED$  = "UniNeed"
  275.     CDNEED$  = "CDNeed"
  276.     CORELBOOKNEED$  = "CorelBookNeed"
  277.     WIN_BACKUPNEED$  = "Win_BackupNeed"
  278.     WIN_TOOLSNEED$   = "Win_ToolsNeed"
  279.     WIN_CONFIGNEED$  = "Win_ConfigNeed"
  280.     WIN_TWAINNEED$   = "Win_TwainNeed"                 '' in case of PowerPak this is really Mosaic Stuff
  281.     DOS_BACKUPNEED$  = "Dos_BackupNeed"
  282.     DOS_TOOLSNEED$   = "Dos_ToolsNeed"
  283.     DOS_CONFIGNEED$  = "Dos_ConfigNeed"
  284.     PCDMOSNEED$         = "PcdMosNeeds"
  285.     NECESSARY_NEED$  = "Necessary"
  286.     EXTRACOSTS$ = "ExtraCosts"
  287.     BIGLIST$ = "BigList"
  288.  
  289.  
  290.     FOR i% = 1 TO 11 STEP 1
  291.         AddListItem BIGLIST$, ""
  292.     NEXT i%
  293.     FOR i% = 1 TO 26 STEP 1
  294.         AddListItem EXTRACOSTS$, "0"
  295.     NEXT i%
  296.  
  297. '$IFDEF DEBUG
  298.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  299.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  300.     IF IsDriveValid(WinDrive$) = 0 THEN
  301.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  302.         GOTO QUIT
  303.     END IF
  304. '$ENDIF ''DEBUG
  305.  
  306. WELCOME: 
  307.     nret% = SetBillBrdNum(REGISTER_BIT)
  308.     AddToBillboardList CUIDLL$, REGISTER, "FModelessBillBoardDlgProc", 1
  309.     nret% = SetBillBrdNum(CONFIG1_BIT)
  310.     AddToBillboardList CUIDLL$, CONFIG1, "FModelessBillBoardDlgProc", 1
  311.     nret% = SetBillBrdNum(CDAUD2_BIT)
  312.     AddToBillboardList CUIDLL$, CDAUD2, "FModelessBillBoardDlgProc", 1
  313.     nret% = SetBillBrdNum(CDBASE_BIT)
  314.     AddToBillboardList CUIDLL$, CDBASE, "FModelessBillBoardDlgProc", 1
  315.  
  316.     IF InstallType <> CORELCDPAK  THEN     '' add the backup one if not a powerpak install
  317.         nret% = SetBillBrdNum(BACKUP1_BIT)
  318.         AddToBillboardList CUIDLL$, BACKUP1, "FModelessBillBoardDlgProc", 1
  319.     END IF
  320.     DoBackGround    
  321. WELCOME2:                                                        
  322.     IF InstallType = CORELCDPAK  THEN     '' takes care of the splash screen (2 types)
  323.         temp% = WLCMCD
  324.     ELSE
  325.         temp% = WELCOME
  326.     END IF                           
  327.  
  328.     
  329.     sz$ = UIStartDlg(CUIDLL$, temp%,"FModeless2DlgProc",0,"")
  330.     cursor% = ShowWaitCursor()
  331.     SetCheckStateList
  332.     RecalcPath
  333.     SetDriveStatus
  334.     RestoreCursor cursor%
  335.  
  336. WELCOME3:    
  337.         UIPop 1         
  338.         IF InstallType = OEMVERSION THEN
  339.             GOTO PATHSCRNFULL                                   
  340.         ELSE
  341.             IF InstallType = CORELCDPAK THEN
  342.               IF DiskOrCD = DISK THEN
  343.                 GOTO INFODISK
  344.               END IF 
  345.             END IF            
  346.             GOTO METHOD
  347.         END IF
  348.     IF sz$ = "REACTIVATE" THEN
  349.         UIPopAll
  350.         DoBackGround
  351.         sz$ = UIStartDlg(CUIDLL$, temp%,"FModeless2DlgProc",0,"")
  352.         GOTO WELCOME2
  353.     ELSE
  354.         GOSUB ASKQUIT
  355.         GOTO WELCOME2
  356.     END IF
  357.  
  358.  
  359. INFODISK:
  360.     sz$ = UIStartDlg(CUIDLL$, DISKINFO, "FInfoDlgProc", 0, "")
  361.     IF sz$ = "EXIT" THEN
  362.         GOSUB ASKQUIT
  363.         GOTO INFODISK
  364.     ELSEIF sz$ = "CONTINUE" THEN
  365.         UIPop 1
  366.         GOTO PATHSCRNFULL
  367.     ENDIF
  368.  
  369.  
  370. METHOD:
  371.     sz$ = UIStartDlg(CUIDLL$, METHOD, "FCustInstDlgProc", METHDHLP, "FHelpDlgProc")
  372.     IF sz$ = "EXIT" THEN
  373.         GOSUB ASKQUIT
  374.         GOTO METHOD
  375.     ELSEIF sz$ = "BTN1" THEN
  376.         UIPop 1
  377.         ''SetCheckStateList
  378. ''    FOR i% = 1 TO 14 STEP 1
  379. ''       AddListItem CHECKSTATES$, "ON"
  380. ''   NEXT i%
  381.         GOTO PATHSCRNFULL
  382.     ELSEIF sz$ = "BTN2" THEN
  383.         UIPop 1          
  384.         ''SetCheckStateList
  385. ''    FOR i% = 1 TO 14 STEP 1
  386. ''       AddListItem CHECKSTATES$, "ON"
  387. ''   NEXT i%
  388.         GOTO PATHSCRN
  389.     ELSEIF sz$ = "REACTIVATE" THEN
  390.         UIPopAll
  391.         DoBackGround
  392.         GOTO METHOD
  393.     ELSE
  394.         GOSUB ASKQUIT
  395.         GOTO METHOD
  396.     END IF
  397.  
  398.  
  399. PATHSCRNFULL:
  400.     IF InstallType = CORELCDPAK AND DiskOrCD = DISK THEN
  401.       stz% = RemSymbol(CHECKSTATES$)
  402.     END IF
  403.  
  404.     SetCheckStateList
  405.  
  406.  
  407. PATHSCRNFULL11:
  408.     CheckPath
  409.  
  410. PATHSCRNFULL1:
  411.  
  412.     test$ = ""
  413.     IF InstallType = CORELCDPAK THEN
  414.       IF DiskOrCD = CD_DISK THEN
  415.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  416.       END IF
  417.     END IF
  418.  
  419.     IF CallBackDlg$ = "FEditDlgProc" THEN
  420.       i% = PATHOK
  421.     ELSE
  422.       IF test$ = "PPAK" THEN
  423.         i% = PTHFNDCD
  424.       ELSE
  425.         i% = PATHFND
  426.       END IF
  427.     END IF
  428.  
  429.     DEST$ = GetSymbolValue("EditTextOut")
  430.     sz$ = UIStartDlg(CUIDLL$, i%, CallBackDlg$, PATHHLP, "FHelpDlgProc")
  431.     olddest$ = DEST$
  432.     DEST$ = GetSymbolValue("EditTextOut")
  433.  
  434.  
  435.     IF sz$ = "CONTINUE" THEN
  436.         i% = LEN(DEST$)                        '' lets take off the last slash if one exists
  437.         oldestpath$ = MID$(DEST$, i%, 1)
  438.         IF oldestpath$ = "\" THEN
  439.           i% = i% - 1
  440.         ENDIF
  441.         oldestpath$ = MID$(DEST$, 1, i%)
  442.         DEST$ = oldestpath$
  443.  
  444.         IF IsDirWritable(DEST$) = 0 THEN
  445.             GOSUB BADPATH
  446.                GOTO PATHSCRNFULL1
  447.         END IF
  448.         drive$ = MID$(DEST$, 1, 1)
  449.  
  450.         free& = GetFreeSpaceForDrive(drive$)
  451.         ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  452.         ''Truncate display if too long.
  453.         IF LEN(DEST$) > 23 THEN
  454.             ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  455.         ELSE
  456.             ReplaceListItem DRIVETEXT$, 7, DEST$
  457.     END IF
  458.  
  459.  
  460.     olddest$ = ""
  461.  
  462.     UIPop 1
  463.  
  464.     IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK     AND GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  465.         DoTheMosaic% = 0
  466.         GOSUB ISMOSAIC
  467.         IF DoTheMosaic% = 1 THEN
  468. ''          DoBackground
  469.           GOTO ASKINST
  470. ''        ELSEIF DoTheMosaic% = 2 THEN
  471. ''          GOSUB ASKQUIT  
  472. ''          DoBackGround
  473. ''          GOTO  PATHSCRNFULL11
  474.         END IF
  475.     END IF
  476.  
  477. ''    SetCheckStateList
  478.  
  479.         cursor% = ShowWaitCursor()
  480.         stm$ = UIStartDlg(CUIDLL$, CHKSPCE, "FModeless2DlgProc", 0, "")
  481.         RecalcPath
  482.         SetDriveStatus
  483.         RestoreCursor cursor%
  484.         UIPop 1
  485.     drive$ = MID$(DEST$, 1, 1)
  486.     free& = GetFreeSpaceForDrive(drive$) / 1024
  487.     cost& = VAL(GetListItem(DRIVETEXT$, 2))
  488.     IF (cost& > free&) THEN
  489.        GOSUB DSKSPCE
  490.        GOTO PATHSCRNFULL1
  491.     ENDIF
  492.  
  493. ''    DoTheMosaic% = 0
  494.     Install     
  495.  
  496. ''    IF DoTheMosaic% = 1 THEN
  497. ''      DoBackground
  498. ''      GOTO ASKINST2
  499. ''    ELSEIF DoTheMosaic% = 2 THEN
  500. ''       GOSUB ASKQUIT  
  501. ''        DoBackGround
  502. ''        GOTO  PATHSCRNFULL11
  503. ''    END IF
  504.  
  505.  
  506.     GOTO ASPIDRVR
  507.     ELSEIF sz$ = "REACTIVATE" THEN
  508.         UIPopAll
  509.         DoBackGround
  510.         GOTO PATHSCRNFULL1
  511.     ELSEIF sz$ = "BACK" THEN
  512.         UIPop 1
  513.         IF InstallType = OEMVERSION  THEN
  514.             GOTO WELCOME2
  515.         ELSEIF InstallType = CORELCDPAK AND DiskOrCD = DISK THEN
  516.             GOTO INFODISK
  517.         ELSE
  518.             GOTO METHOD
  519.         END IF
  520.     ELSE
  521.         GOSUB ASKQUIT
  522.     GOTO PATHSCRNFULL1
  523.     END IF
  524.  
  525.  
  526. PATHSCRN:
  527.     SetCheckStateList
  528. PATHSCRN11:    
  529.     CheckPath
  530. PATHSCRN1:
  531.     test$ = ""
  532.     IF InstallType = CORELCDPAK THEN
  533.       IF DiskOrCD = CD_DISK THEN
  534.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  535.       END IF
  536.     END IF
  537.  
  538.     IF CallBackDlg$ = "FEditDlgProc" THEN
  539.       i% = PATHOK
  540.     ELSE
  541.       IF test$ = "PPAK" THEN
  542.         i% = PTHFNDCD
  543.       ELSE
  544.         i% = PATHFND
  545.       END IF
  546.     END IF
  547.  
  548.     sz$ = UIStartDlg(CUIDLL$, i%, CallBackDlg$, PATHHLP, "FHelpDlgProc")
  549.  
  550.     olddest$ = DEST$
  551.     DEST$ = GetSymbolValue("EditTextOut")
  552.  
  553.  
  554.     IF sz$ = "CONTINUE" THEN
  555.         i% = LEN(DEST$)                        '' lets take off the last slash if one exists
  556.         oldestpath$ = MID$(DEST$, i%, 1)
  557.         IF oldestpath$ = "\" THEN
  558.             i% = i% - 1
  559.         ENDIF
  560.  
  561.         oldestpath$ = MID$(DEST$, 1, i%)
  562.         DEST$ = oldestpath$
  563.  
  564.         IF IsDirWritable(DEST$) = 0 THEN
  565.             GOSUB BADPATH
  566.             GOTO PATHSCRN1
  567.         END IF
  568.  
  569.         drive$ = MID$(DEST$, 1, 1)
  570.         oldpath$=""
  571.         cdpath$=""
  572.  
  573.         free& = GetFreeSpaceForDrive(drive$)
  574.         ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  575.     ''Truncate display if too long.
  576.         IF LEN(DEST$) > 23 THEN
  577.             ReplaceListItem DRIVETEXT$, 7, MID$(DEST$, 1, 23)+"..."
  578.         ELSE
  579.             ReplaceListItem DRIVETEXT$, 7, DEST$
  580.         END IF
  581.  
  582.  
  583.         olddest$ = ""
  584.         UIPop 1
  585.  
  586.         IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK     AND GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  587.             DoTheMosaic% = 0
  588.             GOSUB ISMOSAIC
  589.             IF DoTheMosaic% = 1 THEN
  590. ''              DoBackground
  591.               GOTO ASKINST
  592. ''    ELSEIF DoTheMosaic% = 2 THEN
  593. ''          GOSUB ASKQUIT  
  594. ''          DoBackGround
  595. ''          GOTO  PATHSCRNFULL11
  596.             END IF
  597.         END IF
  598.  
  599.         GOTO ASKINST
  600.  
  601.     ELSEIF sz$ = "REACTIVATE" THEN
  602.         UIPopAll
  603.         DoBackGround
  604.         GOTO PATHSCRN1
  605.     ELSEIF sz$ = "BACK" THEN
  606.         UIPop 1
  607.         GOTO METHOD
  608.     ELSE
  609.         GOSUB ASKQUIT
  610.         GOTO PATHSCRN1
  611.     END IF
  612.  
  613.  
  614. ASKINST:
  615.     cursor% = ShowWaitCursor()
  616.     stm$ = UIStartDlg(CUIDLL$, CHKSPCE, "FModeless2DlgProc", 0, "")
  617.     SetCheckStateList
  618.     
  619.     RecalcPath
  620.     SetDriveStatus
  621.     RestoreCursor cursor%
  622.     UIPop 1
  623. ASKINST2:
  624.     test$ = ""
  625.     IF InstallType = CORELCDPAK THEN
  626.       IF DiskOrCD = CD_DISK THEN
  627.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  628.       END IF
  629.     END IF
  630.  
  631.     IF InstallType = CORELCDPAK  THEN            '' takes care of the splash screen (2 types)
  632.         IF test$ = "PPAK" THEN
  633.             temp% = CSTOMCD2
  634.         ELSE
  635.             temp% = CUSTOMCD
  636.         END IF
  637.     ELSE
  638.         temp% = CUSTOM
  639.     END IF                           
  640.  
  641.     sz$ = UIStartDlg(CUIDLL$, temp%, "FCustInstDlgProc", CUSTMHLP, "FHelpDlgProc")
  642.     IF sz$ = "EXIT" THEN
  643.         GOSUB ASKQUIT
  644.         GOTO ASKINST2
  645.     ELSEIF sz$ = "CONTINUE" THEN
  646.     drive$ = MID$(DEST$, 1, 1)
  647.     free& = GetFreeSpaceForDrive(drive$) / 1024
  648.         cost& = VAL(GetListItem(DRIVETEXT$, 2))
  649.         IF (cost& > free&) THEN
  650.        GOSUB DSKSPCE
  651.            GOTO ASKINST2
  652.         ELSE
  653.        UIPopAll
  654.  
  655.     Install     
  656.  
  657.     END IF
  658.     ELSEIF sz$ = "CHK1" THEN
  659.     RecalcOptFiles UNIFILES
  660.         SetDriveStatus
  661.         GOTO ASKINST2
  662.     ELSEIF sz$ = "CHK2" THEN
  663.     RecalcOptFiles CDFILES
  664.         SetDriveStatus
  665.         GOTO ASKINST2
  666.     ELSEIF sz$ = "CHK3" THEN
  667.     RecalcOptFiles CORELBOOKFILES
  668.         SetDriveStatus
  669.         GOTO ASKINST2
  670.     ELSEIF sz$ = "CHK4" THEN
  671.     RecalcOptFiles WIN_BACKUPFILES
  672.         SetDriveStatus
  673.         GOTO ASKINST2
  674.     ELSEIF sz$ = "CHK5" THEN
  675.     RecalcOptFiles WIN_TOOLSFILES
  676.         SetDriveStatus
  677.         GOTO ASKINST2
  678.     ELSEIF sz$ = "CHK6" THEN
  679.     RecalcOptFiles WIN_CONFIGFILES
  680.         SetDriveStatus
  681.         GOTO ASKINST2
  682.     ELSEIF sz$ = "CHK7" THEN
  683.         RecalcOptFiles WIN_TWAINFILES            '' in the PowerPak version this serves as the Mosaic Entry
  684.         SetDriveStatus
  685.         GOTO ASKINST2
  686.     ELSEIF sz$ = "CHK8" THEN
  687.     RecalcOptFiles DOS_BACKUPFILES
  688.         SetDriveStatus
  689.         GOTO ASKINST2
  690.     ELSEIF sz$ = "CHK9" THEN
  691.     RecalcOptFiles DOS_TOOLSFILES
  692.         SetDriveStatus
  693.     GOTO ASKINST2
  694.     ELSEIF sz$ = "CHK10" THEN
  695.     RecalcOptFiles DOS_CONFIGFILES
  696.     SetDriveStatus
  697.         GOTO ASKINST2
  698.     ELSEIF sz$ = "REACTIVATE" THEN
  699.         UIPopAll
  700.         DoBackGround
  701.         GOTO ASKINST2
  702.     ELSEIF sz$ = "BACK" THEN
  703.         UIPop 1
  704.         GOTO PATHSCRN11
  705.     ELSE
  706.         GOSUB ASKQUIT
  707.     GOTO ASKINST2
  708.     END IF
  709.  
  710. ASPIDRVR:
  711.     UIPopAll
  712.     DoBackGround
  713. ASPIDRVR2:
  714.     IF InstallType = CORELCDPAK THEN 
  715.       test$ = ""
  716.       IF DiskOrCD = CD_DISK THEN
  717.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  718.       END IF
  719.           
  720.       IF test$ = "PPAK" THEN
  721.         GOTO AUTOCNFG
  722.       ELSE
  723.         IF GetListItem(CHECKSTATES$, CDFILES) = "OFF" THEN
  724.           GOTO DEVHIGH                                    
  725.         END IF 
  726.       END IF
  727.     END IF           
  728.     
  729.     sz$ = UIStartDlg(CUIDLL$, ASPIDRVR, "FListDlgProc", CHSCDHLP, "FHelpDlgProc")
  730.     IF sz$ = "REACTIVATE" THEN
  731.     GOTO ASPIDRVR
  732.     ELSEIF sz$ = "CONTINUE" THEN
  733.  
  734.     cardchosen$=GetSymbolValue("ListItemsOut")
  735.     SetSymbolValue "OEMLIST", "NO"
  736.     IF cardchosen$ = FDCspecial$ THEN
  737.       GOTO CHSECARD
  738.     ELSEIF cardchosen$ = OEMDisk$ THEN
  739.       GOTO OEMCARD
  740.     ELSE
  741.       UIPop 1
  742.       GOTO DEVHIGH
  743.         ENDIF
  744.     ELSEIF sz$ = "EXIT" THEN
  745.     GOSUB ASKQUIT
  746.     GOTO ASPIDRVR2
  747.     ELSE
  748.         GOTO ASPIDRVR2
  749.     END IF
  750.  
  751.  
  752. CHSECARD:
  753.     sz$ = UIStartDlg(CUIDLL$, CHSECARD, "FEditCardDlgProc", FDTDC950,"FHelpDlgProc")
  754.     IF sz$ = "REACTIVATE" THEN
  755.         UIPopAll
  756.         DoBackGround
  757.         GOTO CHSECARD
  758.     ELSEIF sz$ = "CONTINUE" THEN
  759.     UIPop 2
  760.         GOTO DEVHIGH
  761.     ELSEIF sz$ = "EXIT" THEN
  762.     GOSUB ASKQUIT
  763.     GOTO CHSECARD
  764.     ELSEIF sz$ = "BACK" THEN
  765.     UIPop 1
  766.         GOTO ASPIDRVR2
  767.     ELSE
  768.     GOTO CHSECARD
  769.     END IF
  770.  
  771. OEMCARD:
  772.     OEMPATH$ = GetIniKeyString("WIN.INI", "CorelSCSI", "OEMPath")
  773.     IF OEMPATH$ = "" THEN
  774.         OEMPATH$ = GetSymbolValue("STF_SRCDIR")
  775.     ENDIF
  776.    SetSymbolValue "EditTextIn", OEMPATH$
  777.     sz$ = UIStartDlg(CUIDLL$, OEMCARD, "FOemEditDlgProc", 0,"")
  778.     IF sz$ = "REACTIVATE" THEN
  779.         UIPopAll
  780.         DoBackGround
  781.         GOTO OEMCARD
  782.     ELSEIF sz$ = "CONTINUE" THEN
  783.         OEMPATH$ = GetSymbolValue("EditTextOut")
  784.        CreateIniKeyValue "WIN.INI", "CorelSCSI", "OEMPath", OEMPATH$, cmoOverwrite
  785.         UIPop 2
  786.         GOTO OEMLIST
  787.     ELSEIF sz$ = "EXIT" THEN
  788.         GOSUB ASKQUIT
  789.         GOTO OEMCARD
  790.     ELSEIF sz$ = "BACK" THEN
  791.         UIPop 1
  792.         GOTO ASPIDRVR2
  793.     ELSE
  794.         GOTO OEMCARD
  795.     END IF
  796.  
  797. OEMLIST:
  798.     sz$ = UIStartDlg(CUIDLL$, OEMLIST, "FOemListDlgProc", CHSCDHLP,"FHelpDlgProc")
  799.     IF sz$ = "REACTIVATE" THEN
  800.         UIPopAll
  801.         DoBackGround
  802.         GOTO OEMLIST
  803.     ELSEIF sz$ = "CONTINUE" THEN
  804.         SetSymbolValue "OEMLIST", "YES"
  805.         UIPop 1
  806.         GOTO DEVHIGH
  807.     ELSEIF sz$ = "EXIT" THEN
  808.         GOSUB ASKQUIT
  809.         GOTO OEMLIST
  810.     ELSEIF sz$ = "BACK" THEN
  811.         UIPop 1
  812.         GOTO OEMCARD
  813.     ELSE
  814.         GOTO OEMLIST
  815.     END IF
  816.  
  817. DEVHIGH:
  818.     
  819.     IF GetListItem(CHECKSTATES$, UNIFILES) = "OFF" AND GetListItem(CHECKSTATES$, CDFILES) = "OFF" THEN
  820.       GOTO LASTDRIVE
  821.     END IF
  822.  
  823.     SetSymbolValue "HighDevices", ""
  824.     FOR i% = 1 TO 2 STEP 1                  '' do HIGH DEVICES
  825.       AddListItem "HighDevices", "OFF"
  826.     NEXT i%
  827.  
  828.     DosVer% = GetDOSMajorVersion()
  829.     IF DosVer% < 5 THEN
  830.       GOTO LASTDRIVE
  831.     END IF
  832.  
  833. DEVHIGH2:
  834.     IF InstallType = CORELCDPAK  THEN            '' takes care of the splash screen (2 types)
  835.         temp% = CDDEVHIGH
  836.     ELSE
  837.         temp% = DEVHIGH
  838.     END IF                           
  839.     
  840.     sz$ = UIStartDlg(CUIDLL$, temp%, "FCustInst2DlgProc", 0, "")
  841.     IF sz$ = "REACTIVATE" THEN
  842.         UIPopAll
  843.         DoBackGround
  844.         GOTO DEVHIGH2
  845.     ELSEIF sz$ = "CONTINUE" THEN
  846.         UIPop 1
  847.         GOTO LASTDRIVE
  848.     ELSEIF sz$ = "EXIT" THEN
  849.         GOSUB ASKQUIT
  850.         GOTO DEVHIGH2
  851.     ELSEIF sz$ = "HGH1" THEN
  852.         GOTO DEVHIGH2
  853.     ELSEIF sz$ = "HGH2" THEN
  854.         GOTO DEVHIGH2
  855.     ELSEIF sz$ = "HGH3" THEN
  856.         GOTO DEVHIGH2
  857.     ELSE
  858.         UIPop 1
  859.     END IF
  860.  
  861.  
  862. LASTDRIVE:
  863.     windowsys$ = GetWindowsDir() + "SYSTEM.INI"
  864.     testnovell$ = GetIniKeyString(windowsys$, "boot", "network.drv")  
  865.     temp% = LSTDRV
  866.     IF testnovell$ = "netware.drv" OR testnovell$ = "NETWARE.DRV" THEN
  867.       temp% = LSTDRVN
  868.     ELSE
  869.       testnovell$ = GetIniKeyString(windowsys$, "boot", "secondnet.drv")
  870.       IF testnovell$ = "netware.drv" OR testnovell$ = "NETWARE.DRV" THEN        
  871.         temp% = LSTDRVN
  872.       ENDIF
  873.     ENDIF
  874.  
  875.     sz$ = UIStartDlg(CUIDLL$, temp%, "FLastDriveDlgProc", LSTDRVHP,"FHelpDlgProc")
  876.     IF sz$ = "REACTIVATE" THEN
  877.         GOTO LASTDRIVE
  878.     ELSEIF sz$ = "CONTINUE" THEN
  879.         UIPop 1
  880.         GOTO AUTOCNFG
  881.     ELSEIF sz$ = "EXIT" THEN
  882.         GOSUB ASKQUIT
  883.         GOTO LASTDRIVE
  884.     END IF
  885.     
  886.  
  887. AUTOCNFG:
  888.     IF InstallType = CORELCDPAK AND DiskOrCD = CD_DISK THEN
  889.       test$ = ""
  890.       test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  891.  
  892.       IF test$ = "PPAK" THEN
  893.         SetSymbolValue "HighDevices", ""
  894.         FOR i% = 1 TO 2 STEP 1                  '' do HIGH DEVICES
  895.           AddListItem "HighDevices", "OFF"
  896.          NEXT i%
  897.       END IF
  898.     END IF  
  899.  
  900.     IF InstallType = CORELCDPAK THEN 
  901.       test$ = ""
  902.       IF DiskOrCD = CD_DISK THEN
  903.         test$ = GetIniKeyString("WIN.INI", "CorelSCSI", "PPak")
  904.       END IF
  905.           
  906.       IF test$ = "PPAK" THEN
  907.         GOTO README
  908.       END IF
  909.     END IF
  910.         
  911.     sz$ = UIStartDlg(CUIDLL$, AUTOCNFG, "FInfo2DlgProc", 0, "")
  912.     IF sz$ = "REACTIVATE" THEN
  913.         UIPopAll
  914.         DoBackGround
  915.         GOTO AUTOCNFG
  916.     ELSEIF sz$ = "CONTINUE" THEN
  917.         UIPop 1
  918.         REBOOT$="YES"
  919.         GOTO README
  920.     ELSEIF sz$ = "EXIT" THEN
  921.         UIPop 1
  922.         REBOOT$="NO"
  923.         GOTO README
  924.     ELSE
  925.         UIPop 1
  926.     END IF
  927.  
  928.  
  929. README:
  930.     IF InstallType = CORELCDPAK THEN 
  931.       IF DiskOrCD = DISK THEN                        '' if running the disk then don't need to do readme
  932.         GOTO README2
  933.       END IF
  934.     END IF  
  935.     
  936.     sz$ = UIStartDlg(CUIDLL$, README, "FInfoDlgProc", 0, "")
  937.     IF sz$ = "REACTIVATE" THEN
  938.        UIPopAll
  939.         DoBackGround
  940.        GOTO README
  941.     ELSEIF sz$ = "BACK" THEN                       ''had to make it something different
  942.         UIPop 1
  943.         GOTO READTXT
  944.     ELSEIF sz$ = "EXIT" THEN
  945.         UIPop 1
  946. README2:
  947.         IF REBOOT$ = "YES" THEN
  948.           GOTO ENDSCRN
  949.         ELSE
  950.           GOTO ENDSCRN2
  951.         END IF
  952.     ELSE
  953.         UIPop 1
  954.         GOTO README
  955.     END IF
  956.  
  957. READTXT:
  958.     sz$ = UIStartDlg(CUIDLL$, READTXT, "FTXTInfoDlgProc", 0, "")
  959.     IF sz$ = "REACTIVATE" THEN
  960.         UIPopAll
  961.         DoBackGround
  962.         GOTO READTXT
  963.     ELSEIF sz$ = "CONTINUE" THEN                       ''had to make it something different
  964.         UIPop 1
  965.         IF REBOOT$ = "YES" THEN
  966.           GOTO ENDSCRN
  967.         ELSE
  968.           GOTO ENDSCRN2
  969.         END IF
  970.     ELSE
  971.         GOTO READTXT
  972.     END IF
  973.  
  974. ENDSCRN:
  975.     DECLARE FUNCTION WinExec LIB "krnl386.exe" (CMDLINE$, CMDSHOW%) AS INTEGER
  976.     szPathsome$ = DEST$ + "\SCSIREBT.EXE /DOBOOT"
  977.     sz$ = UIStartDlg(CUIDLL$, ENDSCRN, "FInfoDlgProc",0,"")
  978.     IF sz$ = "EXIT" THEN
  979.         UIPopAll
  980.     ELSEIF sz$ = "REACTIVATE" THEN
  981.         UIPopAll
  982.         DoBackGround
  983.         GOTO ENDSCRN
  984.     ELSEIF sz$ = "BACK" THEN
  985.        i%=WinExec(szPathsome$, 8)                   ''8 is sw_showna
  986.         UIPopAll
  987.        ELSE
  988.         UIPopAll
  989.        END IF
  990.  
  991.       IF InstallType = CORELCDPAK THEN
  992.         IF DiskOrCD = DISK THEN        
  993.           CreateIniKeyValue "WIN.INI", "CorelSCSI", "PPak", "PPAK", cmoOverwrite
  994.         ELSEIF DiskOrCD = CD_DISK THEN
  995.           RemoveIniKey "WIN.INI", "CorelSCSI", "PPak", cmoNone
  996.         END IF
  997.       END IF
  998.  
  999.     nRc% = RestoreScreenSave()
  1000.         RemoveIniKey "WIN.INI", "CorelSCSI", "OEMPath", cmoNone
  1001.         RemoveFile DEST$+"\~aspi.lst", cmoForce
  1002.     END
  1003.  
  1004. ENDSCRN2:
  1005.     sz$ = UIStartDlg(CUIDLL$, ENDSCRN2, "FInfoDlgProc",0,"")
  1006.     IF sz$ = "EXIT" THEN
  1007.         UIPopAll
  1008.     ELSEIF sz$ = "REACTIVATE" THEN
  1009.         UIPopAll
  1010.         DoBackGround
  1011.         GOTO ENDSCRN2
  1012.     ELSE
  1013.         UIPopAll
  1014.     END IF
  1015.  
  1016.       IF InstallType = CORELCDPAK THEN
  1017.         IF DiskOrCD = DISK THEN        
  1018.           CreateIniKeyValue "WIN.INI", "CorelSCSI", "PPak", "PPAK", cmoOverwrite
  1019.         ELSEIF DiskOrCD = CD_DISK THEN
  1020.           RemoveIniKey "WIN.INI", "CorelSCSI", "PPak", cmoNone
  1021.         END IF
  1022.       END IF
  1023.  
  1024.     nRc% = RestoreScreenSave()
  1025.     RemoveIniKey "WIN.INI", "CorelSCSI", "OEMPath", cmoNone
  1026.     RemoveFile DEST$+"\~aspi.lst", cmoForce
  1027.     END
  1028.  
  1029. QUIT:
  1030.  
  1031.     ON ERROR GOTO ERRQUIT
  1032.  
  1033.     IF ERR = STFQUIT THEN
  1034.         dlg% = EXITQUIT
  1035.     ELSE
  1036.         dlg% = EXITFAILURE
  1037.     END IF
  1038. QUITL1:
  1039.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  1040.     IF sz$ = "REACTIVATE" THEN
  1041.         UIPopAll
  1042.         DoBackGround
  1043.         GOTO QUITL1
  1044.     END IF
  1045.     DECLARE SUB cpReleaseDefaults LIB "cpalette.dll"
  1046.     UIPopAll   
  1047.     nRc% = RestoreScreenSave()
  1048.      RemoveIniKey "WIN.INI", "CorelSCSI", "OEMPath", cmoNone
  1049.     RemoveFile DEST$+"\~aspi.lst", cmoForce
  1050.     END
  1051.  
  1052. ERRQUIT:
  1053.     i% = DoMsgBox(CORRUPT$, ERRORSTRING$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  1054.     nRc% = RestoreScreenSave()
  1055.     END
  1056.  
  1057.  
  1058. BADPATH:
  1059.     sz$ = UIStartDLG(CUIDLL$, BADPATH, "FQuitDlgProc", 0, "")
  1060.     IF sz$ = "CONTINUE" THEN
  1061.         UIPop 1
  1062.     ELSEIF sz$ = "REACTIVATE" THEN
  1063.         UIPopAll
  1064.         DoBackGround
  1065.         GOTO BADPATH
  1066.     ELSE
  1067.         UIPop 1
  1068.     END IF
  1069.     RETURN
  1070.  
  1071. DSKSPCE:
  1072.     sz$ = UIStartDLG(CUIDLL$, DSKSPCE, "FQuitDlgProc", 0, "")
  1073.     IF sz$ = "CONTINUE" THEN
  1074.         UIPop 1
  1075.     ELSEIF sz$ = "REACTIVATE" THEN
  1076.         UIPopAll
  1077.         DoBackGround
  1078.         GOTO DSKSPCE
  1079.     ELSE
  1080.         UIPop 1
  1081.     END IF
  1082.     RETURN
  1083.  
  1084. ASKQUIT:
  1085.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  1086.     IF sz$ = "EXIT" THEN
  1087.         UIPop 2
  1088.         ERROR STFQUIT
  1089.     ELSEIF sz$ = "REACTIVATE" THEN
  1090.         UIPopAll
  1091.         DoBackGround
  1092.         GOTO ASKQUIT
  1093.     ELSE
  1094.         UIPop 1
  1095.     END IF
  1096.     RETURN
  1097.  
  1098.  
  1099. ISMOSAIC:
  1100.     CorelAppDir$ = GetIniKeyString("WIN.INI", "CorelGraphics4", "Dir")
  1101.     MosDir$ = GetIniKeyString(CorelAppDir$ + "\CORELAPP.INI", "Config", "MosaicDir")
  1102.     IF MosDir$ <> "" THEN
  1103.       SetSymbolValue "EditTextIn", MosDir$
  1104.       SetSymbolValue "EditFocus", "END"
  1105.       sz$ = UIStartDlg("stv.dll", MOSAIC, "FEdit1DlgProc", 0, "")
  1106.       IF sz$ = "BACK" THEN
  1107.         UIPop 1
  1108.         DoTheMosaic% = 1
  1109. ''        GOTO ENDOFINSTALL
  1110.       ELSEIF sz$ = "EXIT" THEN                   
  1111.         UIPop 1
  1112.         GOSUB ASKQUIT
  1113.         GOTO ISMOSAIC
  1114. ''        GOTO ENDOFINSTALL
  1115.       ELSEIF sz$ = "CONTINUE" THEN
  1116.         DoTheMosaic% = 2
  1117.         UIPop 1
  1118.       END IF
  1119.     END IF    
  1120.     RETURN
  1121.  
  1122.  
  1123. SUB DoBackGround STATIC
  1124.     DLL$ = "stv.dll"
  1125.     stm$ = UIStartDlg(DLL$, TESTBACK, "FModelessDlgProc", 0, "")
  1126.     IF InstallType = OEMVERSION THEN
  1127.         nReturn% = SetOEMText(OEM_NAME_PLATE$)
  1128.         stm$ = UIStartDlg(DLL$, OEMINFO, "FOEMTextProc", 0, "")
  1129.     END IF
  1130. END SUB
  1131.  
  1132.  
  1133.  
  1134. SUB CheckPath STATIC 
  1135.     oldpath$ = GetIniKeyString("WIN.INI", "CorelSCSI", "installed")
  1136.     cdpath$ = GetIniKeyString("WIN.INI", "CorelSCSI", "wtbackup")
  1137.  
  1138.     IF oldpath$ <> "" THEN
  1139.       DEST$ = oldpath$
  1140.       CallBackDlg$ = "FEdit1DlgProc"
  1141.     ELSEIF cdpath$ <> "" THEN
  1142.       i% = LEN(cdpath$)
  1143.  
  1144.       oldestpath$=MID$(cdpath$, i%, 1)
  1145.       IF oldestpath$ = "\" THEN
  1146.     oldestpath$ = MID$(cdpath$, 1, i%-1)
  1147.       ELSE
  1148.     oldestpath$ = cdpath$
  1149.       ENDIF
  1150.  
  1151.       IF oldestpath$ = "C:\CORELDRV\SCSIUTIL" THEN
  1152.     oldestpath$ = "C:\CORELDRV"
  1153.       ENDIF
  1154.  
  1155.       DEST$ = oldestpath$
  1156.       CallBackDlg$ = "FEdit1DlgProc"
  1157.  
  1158.     ELSE
  1159.       CallBackDlg$ = "FEditDlgProc"
  1160.  
  1161.     END IF
  1162.     SetSymbolValue "EditTextIn", DEST$
  1163.     SetSymbolValue "EditFocus", "END"
  1164. END SUB
  1165.  
  1166.  
  1167. '** Purpose:
  1168. '**     Builds the copy list and performs all installation operations.
  1169. '** Arguments:
  1170. '**     none.
  1171. '** Returns:
  1172. '**     none.
  1173. '*************************************************************************
  1174. SUB Install STATIC
  1175.  
  1176.     UIPopAll
  1177.     ClearCopyList
  1178.     AddOptFilesToCopyList UNIFILES
  1179.     AddOptFilesToCopyList CDFILES
  1180.     AddOptFilesToCopyList CORELBOOKFILES
  1181.     AddOptFilesToCopyList WIN_CONFIGFILES
  1182.     AddOptFilesToCopyList DOS_CONFIGFILES
  1183.     AddOptFilesToCopyList NECESSARY_FILES
  1184.     AddOptFilesToCopyList WIN_TWAINFILES                '' in the PowerPak case this is Mosaic
  1185.  
  1186.     IF InstallType <> CORELCDPAK  THEN            '' takes care of the files different from Pak and SCSI2 and OEM
  1187.         AddOptFilesToCopyList WIN_BACKUPFILES
  1188.         AddOptFilesToCopyList WIN_TOOLSFILES
  1189.         AddOptFilesToCopyList DOS_BACKUPFILES
  1190.         AddOptFilesToCopyList DOS_TOOLSFILES                                                           
  1191.     ELSEIF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK     AND GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  1192. ''             CorelAppDir$ = GetIniKeyString("WIN.INI", "CorelGraphics4", "Dir")
  1193. ''             MosDir$ = GetIniKeyString(CorelAppDir$ + "\CORELAPP.INI", "Config", "MosaicDir")
  1194. ''            IF MosDir$ <> "" THEN
  1195. ''              SetSymbolValue "EditTextIn", MosDir$
  1196. ''              SetSymbolValue "EditFocus", "END"
  1197. ''              sz$ = UIStartDlg("stv.dll", MOSAIC, "FEdit1DlgProc", 0, "")
  1198. ''              IF sz$ = "BACK" THEN
  1199. ''                UIPop 1
  1200. ''                DoTheMosaic% = 1
  1201. ''                GOTO ENDOFINSTALL
  1202. ''              ELSEIF sz$ = "EXIT" THEN                   
  1203. ''                UIPop 1
  1204. ''                DoTheMosaic% = 2
  1205. ''                GOTO ENDOFINSTALL
  1206. ''              ELSEIF sz$ = "CONTINUE" THEN
  1207. ''                UIPop 1
  1208. ''              END IF
  1209. ''            END IF    
  1210.  
  1211.              IF MosDir$ = "" THEN    
  1212.                CreateIniKeyValue "WIN.INI", "CorelGraphics4", "Dir", DEST$ + "\MOSAIC\CONFIG", cmoOverwrite
  1213.                CreateDir DEST$ + "\MOSAIC\CONFIG", cmoNone
  1214.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "ProgramsDir", DEST$ + "\MOSAIC\PROGRAMS", cmoOverwrite
  1215.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "CustomDir", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1216.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "MosaicDir", DEST$ + "\MOSAIC\PROGRAMS", cmoOverwrite
  1217.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "FiltersDir", DEST$ + "\MOSAIC\PROGRAMS", cmoOverwrite
  1218.                CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELAPP.INI", "Config", "DataDir", DEST$ + "\MOSAIC\PROGRAMS\DATA", cmoOverwrite
  1219.              END IF
  1220.  
  1221.     END IF    
  1222.  
  1223.         
  1224.     CreateDir DEST$, cmoNone
  1225.     CopyFilesInCopyList
  1226.  
  1227.  
  1228.        CreateIniKeyValue "WIN.INI", "CorelSCSI", "installed", DEST$, cmoOverwrite
  1229.        installed$=DEST$ + "\CRLSCSI.INI"
  1230.            APPS% = 0
  1231.            oldval$ = GetIniKeyString(installed$, "apps", "apps")
  1232.  
  1233.  
  1234.        IF oldval$ <> "" THEN
  1235.          previous% = VAL(oldval$)
  1236.        ELSE
  1237.          previous% = 0
  1238.        ENDIF
  1239.  
  1240.        oldval$ = ""
  1241.  
  1242.        IF GetListItem(CHECKSTATES$, UNIFILES) = "ON" THEN
  1243.          APPS% = APPS% + 8
  1244.            ENDIF
  1245.  
  1246.        IF GetListItem(CHECKSTATES$, CDFILES) = "ON" THEN
  1247.          APPS% = APPS% + 84
  1248.        ENDIF
  1249.  
  1250.        IF GetListItem(CHECKSTATES$, WIN_BACKUPFILES) = "ON" THEN 
  1251.          APPS% = APPS% + 1
  1252.          catdir$ = DEST$ + "\CATALOG"
  1253.          IF EXISTS(catdir$+"\NUL") = FALSE THEN
  1254.            MKDIR catdir$
  1255.          ENDIF  
  1256.        ELSEIF GetListItem(CHECKSTATES$, DOS_BACKUPFILES) = "ON" THEN
  1257.          APPS% = APPS% + 1
  1258.          catdir$ = DEST$ + "\CATALOG"
  1259.          IF EXISTS(catdir$+"\NUL") = FALSE THEN
  1260.            MKDIR catdir$
  1261.              ENDIF
  1262.        ENDIF
  1263.  
  1264.        IF GetListItem(CHECKSTATES$, WIN_TOOLSFILES) = "ON" THEN
  1265.          APPS% = APPS% + 2
  1266.        ELSEIF GetListItem(CHECKSTATES$, DOS_TOOLSFILES) = "ON" THEN
  1267.          APPS% = APPS% + 2
  1268.        ENDIF
  1269.  
  1270.            APPS% = APPS% OR previous%
  1271.        appinstalled$=STR$(APPS%)
  1272.        CreateIniKeyValue installed$, "apps", "apps", appinstalled$, cmoOverWrite
  1273.        appinstalled$ = ""
  1274.  
  1275.        CreateIniKeyValue installed$, "CDROM Drivers", "DRIVERNAME", "MSCD001", cmoOverWrite
  1276.        CreateIniKeyValue installed$, "UNI Drivers", "USEEMS", "YES", cmoOverWrite
  1277.        CreateIniKeyValue installed$, "CORELCDX", "DRIVERNAME", "MSCD001", cmoOverWrite
  1278.         
  1279.         IF InstallType = CORELCDPAK THEN
  1280.             groupname$ = "Corel CD PowerPak!"
  1281.         ELSE
  1282.             groupname$ = "CorelSCSI 2"
  1283.         END IF
  1284.  
  1285.  
  1286.        IF InstallType = CORELCDPAK AND DiskOrCD = DISK THEN
  1287.          GOTO NOCDSTUFF
  1288.        ENDIF
  1289.  
  1290.        CreateProgmanGroup groupname$, "", cmoVital
  1291.        ShowProgmanGroup groupname$, 1, cmoVital
  1292.  
  1293.        windows$ = GetWindowsDir()
  1294.            CreateProgmanItem groupname$, "SCSI Readme", DEST$+"\readme.txt", "", cmoOverwrite
  1295.  
  1296.        IF GetListItem(CHECKSTATES$, WIN_CONFIGFILES) = "ON" THEN
  1297.           CreateProgmanItem groupname$, "SCSIConfig", DEST$+"\scsicnfg.exe", "", cmoOverwrite
  1298.        ENDIF
  1299.  
  1300.        IF GetListItem(CHECKSTATES$, CORELBOOKFILES) = "ON" THEN
  1301.          CreateProgmanItem groupname$, "CorelBook", DEST$+"\crlbook.exe", "", cmoOverwrite
  1302.          CreateIniKeyValue "WIN.INI", "FONTS", "CorelBook View", "cbkview.fon", cmoOverwrite
  1303.        ENDIF
  1304.  
  1305.        IF GetListItem(CHECKSTATES$, WIN_TOOLSFILES) = "ON" THEN
  1306.          CreateProgmanItem groupname$, "SCSITools", DEST$+"\scsitool.exe", "", cmoOverwrite
  1307.        ENDIF
  1308.  
  1309.        IF GetListItem(CHECKSTATES$, WIN_BACKUPFILES) = "ON" THEN
  1310.          CreateProgmanItem groupname$, "SCSIBackup", DEST$+"\tapeback.exe", "", cmoOverwrite
  1311.        ENDIF
  1312.  
  1313.        IF GetListItem(CHECKSTATES$, CDFILES) = "ON" THEN
  1314.  
  1315.          CreateProgmanItem groupname$, "CDAudio", DEST$+"\cdaudio2.exe", "", cmoOverwrite
  1316.          CreateProgmanItem groupname$, "CDBrowser", DEST$+"\cdbrowse.exe", "", cmoOverwrite
  1317.          CreateProgmanItem groupname$, "Wave Edit", DEST$+"\windat.exe", "", cmoOverwrite
  1318.          CreateProgmanItem groupname$, "PhotoCD", DEST$+"\pcdscsi.exe", "", cmoOverwrite
  1319.          windows$ = GetWindowsDir()
  1320.          CreateProgmanItem groupname$, "Wallpaper Flipper", windows$+"wflipcnf.exe", "", cmoOverwrite
  1321.        ENDIF
  1322.  
  1323.        IF GetListItem(CHECKSTATES$, WIN_TWAINFILES) = "ON" THEN                       '' or the mosaic files 
  1324.          IF InstallType <> CORELCDPAK THEN
  1325.             windows$ = GetWindowsDir()
  1326.             windows$ = windows$ + "twain\cortwain"
  1327.             cortwainini$ = windows$+"\CORTWAIN.INI"
  1328.             CreateIniKeyValue cortwainini$, "KODAK", "firmware RFS 2035", windows$+"\rfs2035.bin", cmoOverWrite
  1329.             CreateIniKeyValue cortwainini$, "KODAK", "load RFS 2035", windows$+"\ldkodak.exe", cmoOverWrite
  1330.             CreateProgmanItem groupname$, "Calibrate Kodak RSF2035", windows$+"\ldkodak.exe " + windows$ + "\rfs2035.bin", "", cmoOverwrite
  1331.             CreateProgmanItem groupname$, "Corel Twain Sample App", windows$+"\ctsample.exe", "", cmoOverwrite
  1332.          ELSE                    '' it would be an else when I add the mosaic files in.
  1333.  
  1334.             IF MosDir$ <> "" THEN
  1335.                 CreateProgmanItem groupname$, "CorelMOSAIC!", MosDir$ + "\CORELMOS.EXE", "", cmoOverwrite
  1336.             ELSE
  1337.                 CreateProgmanItem groupname$, "CorelMOSAIC!", DEST$ + "\mosaic\programs\corelmos.exe ", "", cmoOverwrite
  1338.                 CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELFLT.INI", "ColorPath", "CircuitPath", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1339.                 CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELFLT.INI", "ColorPath", "CurvePath", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1340.                 CreateIniKeyValue DEST$ + "\MOSAIC\CONFIG\CORELPRN.INI", "ColorPath", "CircuitPath", DEST$ + "\MOSAIC\CUSTOM", cmoOverwrite
  1341.             END IF
  1342.          ENDIF
  1343.  
  1344. NOCDSTUFF:         
  1345.  
  1346.        ENDIF
  1347.  
  1348. ENDOFINSTALL:
  1349. END SUB
  1350.  
  1351.  
  1352. '**
  1353. '** Purpose:
  1354. '**     Adds the specified option files to the copy list.
  1355. '** Arguments:
  1356. '**     ftype%  - type of files to add, one of the following:
  1357. '**             APPFILES, OPTFILES1, OPTFILES2
  1358. '** Returns:
  1359. '**     none.
  1360. '*************************************************************************
  1361. SUB AddOptFilesToCopyList (ftype%) STATIC
  1362.     windows$ = GetWindowsDir()
  1363.     winsystem$ = windows$ + "SYSTEM"
  1364.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1365.  
  1366.     IF ftype% = NECESSARY_FILES THEN
  1367.         AddSectionFilesToCopyList "Necessary", SrcDir$, DEST$
  1368.         SrcDir$ = ""
  1369.     ELSEIF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  1370.         SrcDir$ = GetSymbolValue("STF_SRCDIR")
  1371.         IF ftype% = UNIFILES THEN
  1372.             AddSectionFilesToCopyList "UniFiles", SrcDir$, DEST$
  1373.         ELSEIF ftype% = CDFILES THEN
  1374.             AddSectionFilesToCopyList "CDFiles", SrcDir$, DEST$
  1375.             AddSectionFilesToCopyList "ARTshow", SrcDir$, windows$       
  1376.             AddSectionFilesToCopyList "ARTshow_DLL", SrcDir$, winsystem$       
  1377.             AddSectionFilesToCopyList "PhotoCD_DLL", SrcDir$, winsystem$       
  1378.         ELSEIF ftype% = CORELBOOKFILES THEN
  1379.             AddSectionFilesToCopyList "CorelBookFiles", SrcDir$, DEST$
  1380.             AddSectionFilesToCopyList "CorelBookFont", SrcDir$, winsystem$       
  1381.         ELSEIF ftype% = WIN_BACKUPFILES THEN
  1382.             AddSectionFilesToCopyList "WINBackupFiles", SrcDir$, DEST$
  1383.         ELSEIF ftype% = WIN_TOOLSFILES THEN
  1384.             AddSectionFilesToCopyList "WINToolsFiles", SrcDir$, DEST$
  1385.         ELSEIF ftype% = WIN_CONFIGFILES THEN
  1386.             AddSectionFilesToCopyList "WINConfigFiles", SrcDir$, DEST$
  1387.         ELSEIF ftype% = WIN_TWAINFILES THEN                           
  1388.             IF InstallType <> CORELCDPAK THEN
  1389.                AddSectionFilesToCopyList "TwainDLL", SrcDir$, windows$         '' special dll
  1390.                windows$ = windows$ + "TWAIN\CORTWAIN"
  1391.                AddSectionFilesToCopyList "WINTwainFiles", SrcDir$, windows$    '' all others
  1392.                windows$ = windows$ + "\OEMTWAIN"
  1393.                AddSectionFilesToCopyList "OEMTwainFiles", SrcDir$, windows$    '' add OEM Files
  1394.             ELSE                     '' ************ otherwise do mosaic here
  1395.      
  1396.                  IF DoesIniKeyExist("WIN.INI", "CorelGraphics4", "Dir") = 1 THEN
  1397.                      CorelAppDir$ = GetIniKeyString("WIN.INI", "CorelGraphics4", "Dir")
  1398.                      MosDir$ = GetIniKeyString(CorelAppDir$ + "\CORELAPP.INI", "Config", "MosaicDir")
  1399.                      IF DoesFileExist(MosDir$ + "\CORELMOS.EXE", femReadWrite) = 1 THEN
  1400.                            AddSectionFilesToCopyList "PcdMosFiles", SrcDir$, MosDir$
  1401.                            AddSectionFilesToCopyList "PcdMosUtils", SrcDir$, MosDir$
  1402.                     ELSE                '' just in case it really isn't there add all the files
  1403.                           AddSectionFilesToCopyList "PcdMosFiles", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS"
  1404.                           AddSectionFilesToCopyList "PcdMosUtils", SrcDir$, DEST$ + "\MOSAIC\CUSTOM"
  1405.                           AddSectionFilesToCopyList "PcdMosInis", SrcDir$, DEST$ + "\MOSAIC\CONFIG"
  1406.                           AddSectionFilesToCopyList "PcdMosData", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS\DATA"
  1407.                      END IF 
  1408.                  ELSE 
  1409.                       AddSectionFilesToCopyList "PcdMosFiles", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS"
  1410.                       AddSectionFilesToCopyList "PcdMosUtils", SrcDir$, DEST$ + "\MOSAIC\CUSTOM"
  1411.                       AddSectionFilesToCopyList "PcdMosInis", SrcDir$, DEST$ + "\MOSAIC\CONFIG"
  1412.                       AddSectionFilesToCopyList "PcdMosData", SrcDir$, DEST$ + "\MOSAIC\PROGRAMS\DATA"
  1413.                  END IF
  1414.             END IF
  1415.  
  1416.  
  1417.         ELSEIF ftype% = DOS_BACKUPFILES THEN
  1418.             AddSectionFilesToCopyList "DOSBackupFiles", SrcDir$, DEST$
  1419.         ELSEIF ftype% = DOS_TOOLSFILES THEN
  1420.             AddSectionFilesToCopyList "DOSToolsFiles", SrcDir$, DEST$
  1421.         ELSEIF ftype% = DOS_CONFIGFILES THEN
  1422.             AddSectionFilesToCopyList "DOSConfigFiles", SrcDir$, DEST$
  1423.         END IF
  1424.         SrcDir$ = ""
  1425.     END IF
  1426.  
  1427. END SUB
  1428.  
  1429.  
  1430.  
  1431. '** Purpose:
  1432. '**     Sets the Checkstate list.
  1433. '** Arguments:
  1434. '**     none.
  1435. '** Returns:
  1436. '**     none.
  1437. '*************************************************************************
  1438. SUB SetCheckStateList STATIC
  1439.     IF InstallType = CORELSCSI20 THEN
  1440.         FOR i% = 1 TO 11 STEP 1                  '' do the setup of entire selection
  1441.            AddListItem CHECKSTATES$, "ON"
  1442.         NEXT i%      
  1443.         ReplaceListItem CHECKSTATES$, 8, "OFF"        '' no more DBACKUP
  1444.     ELSEIF InstallType = CORELCDPAK THEN            '' lets pretend MOSAIC isn't in here yet
  1445.         AddListItem CHECKSTATES$, "OFF"            '' the UNI portion selection
  1446.  
  1447.         IF DiskOrCD = DISK THEN
  1448.           AddListItem CHECKSTATES$, "ON"            '' this is the drivers and cdex
  1449.           AddListItem CHECKSTATES$, "OFF"        '' this is corelbook
  1450.         ELSE
  1451.           AddListItem CHECKSTATES$, "ON"
  1452.           AddListItem CHECKSTATES$, "ON"
  1453.         END IF
  1454.  
  1455.         AddListItem CHECKSTATES$, "OFF"            '' win backup
  1456.         AddListItem CHECKSTATES$, "OFF"            '' win tools
  1457.  
  1458.         IF DiskOrCD = DISK THEN
  1459.             AddListItem CHECKSTATES$, "OFF"           '' this is the WinConfig Check
  1460.         ELSE        
  1461.             AddListItem CHECKSTATES$, "ON"           '' this is the WinConfig Check
  1462.            END IF
  1463.  
  1464.         IF DiskOrCD = DISK THEN
  1465.             AddListItem CHECKSTATES$, "OFF"           '' this is the CORELMOSAIC Check
  1466.         ELSE        
  1467.             AddListItem CHECKSTATES$, "ON"           '' this is the CORELMOSAIC Check
  1468.            END IF
  1469.  
  1470.         FOR i% = 8 TO 9 STEP 1                  '' do the setup of Power Pak selection
  1471.            AddListItem CHECKSTATES$, "OFF"
  1472.         NEXT i%
  1473.  
  1474.         IF DiskOrCD = DISK THEN
  1475.             AddListItem CHECKSTATES$, "OFF"                '' DOS Config check box
  1476.         ELSE
  1477.             AddListItem CHECKSTATES$, "ON"                '' DOS Config check box
  1478.         END IF
  1479.  
  1480.         AddListItem CHECKSTATES$, "ON"                '' Necessary
  1481.     ELSEIF    InstallType = OEMVERSION  THEN
  1482.         IF CheckIfOEM(InstallSet, OEM_UNIVERSAL) = 1 THEN    '' 1 being true (is in the bitflag)
  1483.             AddListItem CHECKSTATES$, "ON"
  1484.         ELSE 
  1485.             AddListItem CHECKSTATES$, "OFF"
  1486.         END IF            
  1487.                     
  1488.         IF CheckIfOEM(InstallSet, OEM_CDSTUFF) = 1 THEN        '' 1 being true (is in the bitflag)
  1489.             AddListItem CHECKSTATES$, "ON"
  1490.         ELSE 
  1491.             AddListItem CHECKSTATES$, "OFF"
  1492.         END IF            
  1493.  
  1494.         IF CheckIfOEM(InstallSet, OEM_CORELBOOK) = 1 THEN        '' 1 being true (is in the bitflag)
  1495.             AddListItem CHECKSTATES$, "ON"
  1496.         ELSE 
  1497.             AddListItem CHECKSTATES$, "OFF"
  1498.         END IF            
  1499.  
  1500.         IF CheckIfOEM(InstallSet, OEM_WINBACKUP) = 1 THEN        '' 1 being true (is in the bitflag)
  1501.             AddListItem CHECKSTATES$, "ON"
  1502.         ELSE 
  1503.             AddListItem CHECKSTATES$, "OFF"
  1504.         END IF            
  1505.  
  1506.         IF CheckIfOEM(InstallSet, OEM_WINTOOLS) = 1 THEN        '' 1 being true (is in the bitflag)
  1507.             AddListItem CHECKSTATES$, "ON"
  1508.         ELSE 
  1509.             AddListItem CHECKSTATES$, "OFF"
  1510.         END IF            
  1511.  
  1512.         IF CheckIfOEM(InstallSet, OEM_WINCONFIG) = 1 THEN        '' 1 being true (is in the bitflag)
  1513.             AddListItem CHECKSTATES$, "ON"
  1514.         ELSE 
  1515.             AddListItem CHECKSTATES$, "OFF"
  1516.         END IF            
  1517.  
  1518.         IF CheckIfOEM(InstallSet, OEM_TWAIN) = 1 THEN        '' 1 being true (is in the bitflag)
  1519.             AddListItem CHECKSTATES$, "ON"
  1520.         ELSE 
  1521.             AddListItem CHECKSTATES$, "OFF"
  1522.         END IF            
  1523.  
  1524.         IF CheckIfOEM(InstallSet, OEM_DOSBACKUP) = 1 THEN        '' 1 being true (is in the bitflag)
  1525.             AddListItem CHECKSTATES$, "ON"
  1526.         ELSE 
  1527.             AddListItem CHECKSTATES$, "OFF"
  1528.         END IF            
  1529.  
  1530.         IF CheckIfOEM(InstallSet, OEM_DOSTOOLS) = 1 THEN        '' 1 being true (is in the bitflag)
  1531.             AddListItem CHECKSTATES$,"ON"
  1532.         ELSE 
  1533.             AddListItem CHECKSTATES$,"OFF"
  1534.         END IF            
  1535.  
  1536.         IF CheckIfOEM(InstallSet, OEM_DOSCONFIG) = 1 THEN        '' 1 being true (is in the bitflag)
  1537.             AddListItem CHECKSTATES$, "ON"
  1538.         ELSE 
  1539.             AddListItem CHECKSTATES$, "OFF"
  1540.         END IF            
  1541.  
  1542.         AddListItem CHECKSTATES$, "ON"                            '' Necessary
  1543.     END IF
  1544. END SUB
  1545.  
  1546.  
  1547. '**
  1548. '** Purpose:
  1549. '**     Recalculates disk space for the given option files and sets
  1550. '**     the status info symbol "StatusItemsText".
  1551. '** Arguments:
  1552. '**     ftype% - type of files to add, one of the following:
  1553. '**             UNIFILES, CDFILES  etc
  1554. '** Returns:
  1555. '**     none.
  1556. '*************************************************************************
  1557. SUB RecalcOptFiles (ftype%) STATIC
  1558.  
  1559.     CursorSave% = ShowWaitCursor()
  1560.  
  1561.     ClearCopyList
  1562.     AddOptFilesToCopyList ftype%
  1563.  
  1564.  
  1565.     fExtra% = 0
  1566.     IF ftype% = UNIFILES THEN
  1567.     ListSym$ = UNINEED$
  1568.     ELSEIF ftype% = CDFILES THEN
  1569.     ListSym$ = CDNEED$
  1570.     ELSEIF ftype% = CORELBOOKFILES THEN
  1571.     ListSym$ = CORELBOOKNEED$
  1572.     ELSEIF ftype% = WIN_BACKUPFILES THEN
  1573.     ListSym$ = WIN_BACKUPNEED$
  1574.     ELSEIF ftype% = WIN_TOOLSFILES THEN
  1575.     ListSym$ = WIN_TOOLSNEED$
  1576.     ELSEIF ftype% = WIN_CONFIGFILES THEN
  1577.     ListSym$ = WIN_CONFIGNEED$
  1578.     ELSEIF ftype% = WIN_TWAINFILES THEN
  1579.       IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK THEN
  1580.            ListSym$ = PCDMOSNEED$
  1581.          ELSE
  1582.         ListSym$ = WIN_TWAINNEED$                        '' Mosaic in case of PowerPak
  1583.       END IF
  1584.     ELSEIF ftype% = DOS_BACKUPFILES THEN
  1585.     ListSym$ = DOS_BACKUPNEED$
  1586.     ELSEIF ftype% = DOS_TOOLSFILES THEN
  1587.     ListSym$ = DOS_TOOLSNEED$
  1588.     ELSEIF ftype% = DOS_CONFIGFILES THEN
  1589.     ListSym$ = DOS_CONFIGNEED$
  1590.     ELSEIF ftype% = NECESSARY_FILES THEN
  1591.     ListSym$ = NECESSARY_NEED$
  1592.     END IF
  1593.  
  1594.     StillNeed& = GetCopyListCost(EXTRACOSTS$, ListSym$, "")
  1595.  
  1596.     cost& = 0
  1597.     FOR i% = 1 TO 26 STEP 1
  1598.         cost&  = cost& + VAL(GetListItem(ListSym$, i%))
  1599.     NEXT i%
  1600.     ReplaceListItem STATUSTEXT$, ftype%, STR$(cost& / 1024) + " K"
  1601.  
  1602.     IF StillNeed& > 0 THEN
  1603.         ReplaceListItem BIGLIST$, ftype%, "YES"
  1604.     ELSE
  1605.         ReplaceListItem BIGLIST$, ftype%, ""
  1606.     END IF
  1607.  
  1608.     IF fExtra% THEN
  1609.         ReplaceListItem EXTRACOSTS$, ndrive%, "0"
  1610.     END IF
  1611.     RestoreCursor CursorSave%
  1612.     ListSym$ = ""
  1613. END SUB
  1614.  
  1615.  
  1616. '**
  1617. '** Purpose:
  1618. '**     Recalculates disk space and sets option status info according
  1619. '**     to the current destination path.
  1620. '** Arguments:
  1621. '**     none.
  1622. '** Returns:
  1623. '**     none.
  1624. '*************************************************************************
  1625. SUB RecalcPath STATIC
  1626.  
  1627.     CursorSave% = ShowWaitCursor()
  1628.  
  1629.     RecalcOptFiles UNIFILES
  1630.     RecalcOptFiles CDFILES
  1631.     RecalcOptFiles CORELBOOKFILES
  1632.     RecalcOptFiles WIN_BACKUPFILES
  1633.     RecalcOptFiles WIN_TOOLSFILES
  1634.     RecalcOptFiles WIN_CONFIGFILES
  1635.     RecalcOptFiles WIN_TWAINFILES
  1636.     RecalcOptFiles DOS_BACKUPFILES
  1637.     RecalcOptFiles DOS_TOOLSFILES
  1638.     RecalcOptFiles DOS_CONFIGFILES
  1639.     RecalcOptFiles NECESSARY_FILES
  1640.  
  1641.     RestoreCursor CursorSave%
  1642. END SUB
  1643.  
  1644.  
  1645. '**
  1646. '** Purpose:
  1647. '**     Sets drive status info according to latest disk space calcs.
  1648. '** Arguments:
  1649. '**     none.
  1650. '** Returns:
  1651. '**     none.
  1652. '*************************************************************************
  1653. SUB SetDriveStatus STATIC
  1654.  
  1655.     drive$ = MID$(DEST$, 1, 1)
  1656.     ndrive% = ASC(ucase$(drive$)) - ASC("A") + 1
  1657.     cost& = VAL(GetListItem(UNINEED$, ndrive%)) + VAL(GetListItem(CDNEED$,ndrive%)) + VAL(GetListItem(CORELBOOKNEED$,ndrive%))
  1658.     cost& = cost& + VAL(GetListItem(WIN_BACKUPNEED$, ndrive%)) + VAL(GetListItem(WIN_TOOLSNEED$, ndrive%)) + VAL(GetListItem(WIN_CONFIGNEED$, ndrive%))
  1659.     cost& = cost& + VAL(GetListItem(DOS_BACKUPNEED$, ndrive%)) + VAL(GetListItem(DOS_TOOLSNEED$, ndrive%))
  1660.     cost& = cost& + VAL(GetListItem(DOS_CONFIGNEED$, ndrive%)) + VAL(GetListItem(NECESSARY_NEED$, ndrive%))
  1661.     
  1662.     IF InstallType = CORELCDPAK AND DiskOrCd = CD_DISK THEN
  1663.         cost& = cost& + VAL(GetListItem(PCDMOSNEED$, ndrive%))
  1664.     ELSE        
  1665.         cost& = cost& + VAL(GetListItem(WIN_TWAINNEED$, ndrive%))
  1666.     END IF
  1667.     
  1668.     IF cost& < 0 THEN
  1669.         cost& = 0
  1670.     END IF
  1671.  
  1672.     free& = GetFreeSpaceForDrive(drive$)
  1673.     ReplaceListItem DRIVETEXT$, 2, STR$(cost& / 1024) + " K"
  1674.     ReplaceListItem DRIVETEXT$, 3, STR$(free& / 1024) + " K"
  1675.  
  1676. END SUB
  1677.  
  1678.